<?php /**

* Helpers
* PHP version 5
* LICENSE
*
* This source file is subject to the GNU/GPL that is bundled
* with this package in the file docs/LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to emiliano@markisich.com.ar so we can send you a copy immediately.
*
* @author Markisich Emiliano <emiliano@markisich.com.ar>
* (este es mi primer aporte al SoftWare Libre)
*/
/**
* Libreria Mostrar datos en una grilla
* es una adaptacion de jqGrid a kumbia.  
* Version 0.1
*/


class msjqGrid{

   public $contador	=	array();
   /**
    * titulo del datagrid
   * @var string
   */
  public $title_caption		=	'';
  /**
   * Si desea que poder obtener un order by por campo
   * para esto debe recibir el field y el order
   * default = false
   * @var bool
   */
  public $formatOption		=	array();
  /**
   * Si desea que poder obtener un order by por campo
   * para esto debe recibir el field y el order
   * default = false
   * @var bool
   */
  public $key		=	array();
  /**
   * Si desea que poder obtener un order by por campo
   * para esto debe recibir el field y el order
   * default = false
   * @var bool
   */
  public $order_fields	=	false;
  /**
   * Array de datos q se obtienen de un find
   * @var array
   */
  public $data_source	=	array();
  /**
   * url: url para la accion que efectua la paginacion,
   * por defecto "module/controller/page/" y se envia por parametro el numero de pagina. 
   * por defecto busca en el mismo controller y action
   * @var string
   */
  public $url		=	'';


   public $get_fields_and_headers	=	array();
   /**
    * Modelo actual
    * @var string
    */
   public $model		=	'';
   
   /**
    * campos que se van a mostrar de la base de datos
    * @var array
    */
   public $fields		=	array();
   /**
    * titulos o cabezeras que se mostra en la table <th></th>
    * @var array
    */
   public $headers		=	array();

   /**
    *Cambia el titulo a mostrar según la key del array $data.
    */    
   public function setFormatoption($field, $formato){
        $this->formatOption = array($field => $formato);
   }
   public function getformatOption($field){
        return  @$this->formatOption[$field];
   }

   public function setkey($field, $formato){
        $this->key = array($field => $formato);
   }
   public function getkey($field){
        return  @$this->key[$field];
   }


   public function __construct($datos) {

	$this->data_source = $datos; $this->url = Router::get('controller') . '/'; 

   }

   public function xml(){
        $code = '<Listado>';
        $code .= '<Request>';
        $code .= '<IsValid>True</IsValid>';
      	 $code .= '<ItemSearchRequest>';

$code .= '<SearchIndex>'."Titulo" .'</SearchIndex>'; $code .= '</ItemSearchRequest>';

        $code .= '</Request>';
        $code .= '<Items>';
        foreach ($this->data_source as $item): 
           $code .= '<Item>';

$code .= '<DetailPageURL></DetailPageURL>'; $code .= '<ItemAttributes>';

                   foreach ($this->fields as $campo):
                          $var = $item->$campo;

$code .="<$campo> $var </$campo>"; endforeach; $code .= '</ItemAttributes>';

           $code .= '</Item>';
        endforeach; 
      $code .= '</Items>';
      $code .= '</Listado>';
      return $code;
   }

} 